Skip to contentMethod: static {...}
1: package cz.cvut.kbss.jsonld.deserialization.datetime;
2:
3: import cz.cvut.kbss.jopa.datatype.xsd.XsdDateTimeMapper;
4: import cz.cvut.kbss.jsonld.ConfigParam;
5: import cz.cvut.kbss.jsonld.Configuration;
6: import cz.cvut.kbss.jsonld.common.Configurable;
7:
8: import java.time.OffsetDateTime;
9: import java.time.format.DateTimeFormatter;
10:
11: class StringBasedDateTimeResolver implements Configurable {
12:
13: private DateTimeFormatter formatter;
14:
15: OffsetDateTime resolve(String value) {
16: assert value != null;
17: return formatter != null ? OffsetDateTime.parse(value, formatter) : XsdDateTimeMapper.map(value);
18: }
19:
20: @Override
21: public void configure(Configuration configuration) {
22: if (configuration.has(ConfigParam.DATE_TIME_FORMAT)) {
23: formatter = DateTimeFormatter.ofPattern(configuration.get(ConfigParam.DATE_TIME_FORMAT));
24: }
25: }
26: }